﻿#ifndef P2P_DOWNLOAD
#define P2P_DOWNLOAD

#include <QtNetwork/QHostAddress>
#include <QtNetwork/QTcpSocket>
#include "tcp_meta.h"
#include <QThread>

class P2P_Download : public QTcpSocket//继承了QTcpSocket类
{
    Q_OBJECT

public:
    P2P_Download(QObject *parent, tcp_meta& tm);
    ~P2P_Download();

    qint64 progress;//下载的进度
    bool status;//状态

    bool start_as_client(QString dirname);//当前任务开始下载

    void StopConnected();
    QString breakpoint;
    QString Dfilename;//要下载的文件的文件名
    QString UserName;//用户名


private:
    int port;//p2p服务端的端口号
    QHostAddress *ServerIP;//p2p服务端的IP地址
    QString Dirname;//保存的路径
    QString Dfilepath;//下载文件的路径，也就是p2p服务端该文件的存放路径
    qint64 filesize;//要下载的文件的大小
    bool flag;

private slots:
    void ClientConnected();//建立下载的连接
    void ClientDisconnected();//下载的连接断开
    void ClientDataReceived();//下载的内容通过这个函数来处理
};

#endif // P2P_DOWNLOAD

